The present application relates generally to an improved data processing apparatus and method and more specifically to mechanisms for performing a Single Instruction Multiple Data (SIMD) address compare operation that utilizes permute logic for distributed register files.
When performing various operations within a processor, such as gather/scatter operations, it is important to verify that memory locations upon which such operations are performed are distinct, i.e. there are no data dependencies on these memory locations. If the memory locations are not distinct, then the performance of the gather/scatter operation may cause a violation of the data dependencies resulting in data corruption and errors in the execution of computer code. Currently, performing comparison operations on the memory locations to determine if there are any data dependencies that may be violated is an expensive process in terms of numbers of instructions, processor cycles, power consumption, and the like.